home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / PROGRAMMING / Strong_BS175.ZIP / !StrongBS / Documents / Changes next >
Text File  |  1997-07-16  |  29KB  |  664 lines

  1.  
  2.                         StrongBS v1.75 (17th July 1997)
  3.                           © Mohsen Alshayef 1993-1997
  4.  
  5.                           email: mohsen@qatar.net.qa
  6.  
  7.  
  8.  
  9. This file describes the changes and history of StrongBS:
  10.  
  11. The list is in reverse chronological order.
  12.  
  13.  
  14.  
  15. Version 1.75 (17th July 1997)
  16. ============================
  17.  
  18. - This version cures a very nasty bug that existed in versions 1.72 to 1.74
  19.   some of the code got corrupt when compressing the files ...oops sorry.
  20. - A bug is identified in the "Evaluate Expression" option which is not fixed
  21.   yet.. I'll do that hopefully very soon... for the time being just switch off
  22.   that option.... see you soon with v1.76.. :-)
  23.     
  24.  
  25.  
  26. Version 1.74 (12th July 1997)
  27. ============================
  28.  
  29. - Bug fix in the memory indirection operator code. Thanks to Theo Markettos
  30.   for reporting it.
  31. - Bug fix in the numbers evaluation code. Thanks to Birger Harzenetter for
  32.   pointing it out.
  33.  
  34.  
  35. Version 1.73 (9th July 1997)
  36. ============================
  37.  
  38. - Fixed a bug in the spaces removal code inside DATA lines. Thanks Dominic!!
  39. - StrongBS now understands **some** new assembler instructions (these are
  40.   SWP, MSR, MRS, LDRH, LDRSH, LDRSB and STRH) and will be treated correctly
  41.   by the spaces removal code. This new feature is enabled from the Choices
  42.   dialog box.
  43. - Added an option in the Choices dialog box to enable recognition of new
  44.   ARM instructions. Enable this option only if you are **SURE** that your
  45.   assembler listing contains extended instructions.
  46. -
  47.  
  48. Version 1.72 (7th July 1997)
  49. ============================
  50.  
  51. - The Removed unused assembler labels are now easily identifiable in the Log
  52.   file.
  53. - Added the option to save output file as an "Absolute" type only.
  54. - Added the option to save output file as "Absolute+Crunched".
  55. - Added the option to preserve command parameters when saving in either
  56.   Absolute or Absolute+Crunched.
  57. - Removed the option to save as StrongBS squeezed, the Crunch code by Bernard
  58.   Jungen does a better job.
  59. - Bug in the VDU concatenation code fixed.
  60.  
  61.  
  62.  
  63. Version 1.71 (7th July 1997)
  64. ============================
  65.  
  66. - Bug fix in the numbers conversion routine.
  67. - Bug fix in the "assemble code" option, that requires either an ALIGN to
  68.   be inserted or the instruction mnemonic to be left as is, I opted for the
  69.   second choice!! Thanks Sophie, I didn't take your warning seriously, I
  70.   guess I should have..:-)
  71.   
  72.  
  73.  
  74. Version 1.70ß2 (6th July 1997)
  75. =============================
  76.  
  77. - Corrected the position of pop-up menus.
  78. - Auto free memory, now works when the save button is pressed.
  79. - Pop-up menus open with Select click and made as close as possible to
  80.   the requirements of the Style Guide :-)
  81.  
  82.  
  83. Version 1.70ß1 (5th July 1997)
  84. =============================
  85.  
  86. - If StrongBS startup banner irritates you then you can now disable
  87.   it :-) See the !Run file for more details.
  88. - To allow more flexibility and the ability of adding more features, the
  89.   "SBSLock" file is now renamed "SBSMake" file. Sorry, please rename your
  90.   files if you have already used the "SBSLock" name :-(
  91.   New features of the SBSMake file:
  92.   - Contains any variables or procedure names not to be renamed using
  93.     the "Lock:" token (as before). And is hence compatible with the
  94.     old format of the "SBSLock" Special file.
  95.   - New token "SBSLinkDir:" points at a directory pathname for which
  96.     ALL BASIC files will be linked (appended) to the main program at
  97.     load time.
  98.     Note that any files selected in the "Library files" menu will also
  99.     be linked in addition to those linked from the library pointed by
  100.     the "SBSLinkDir:" token.
  101.   - New token "SBSLinkFile:" after which you can list all filenames that
  102.     you want to be linked to the current file.
  103.   
  104.     Note: you can use <Obey$Dir> in the filename or directory name, in
  105.           this case StrongBS evaluates the <Obey$Dir> variable to mean
  106.           the directory you loaded the BASIC program from.
  107.           
  108.   - New token "SBSRemoveLIBCall:" which takes a value of "Yes" to tell StrongBS
  109.     to remove all LIBRARY calls made in the main program.
  110.   - More tokens are being worked on, so I would like to receive any
  111.     suggestions.
  112. - Code added to automatically scan for LIBRARY calls in the program and
  113.   remove them. This code gets used if the user requests that in the "SBSMake"
  114.   file or specifies that as a default in the Choices window.
  115. - Added the ability to free the memory claimed by "StrongBS" for the loaded
  116.   file and its variables table. Also the ability to free memory automatically
  117.   as soon as the squashed file is saved, this auto-free memory can be
  118.   set from the "Choices.." window. You should save your squashed file before
  119.   freeing memory else you will lose it!!
  120. - The default startup Squash mode can now be selected from the Choices window
  121.   and saved.
  122. - New banner designed..!
  123. - Error message windows improved. Still some work required, well maybe a
  124.   complete re-design !!
  125. - Bug fixes:
  126.   - A bug with conversion of memory operators now fixed. Thanks to Bernard
  127.     Veasey for pointing this out.
  128.   - A nasty bug with *Commands have been fixed. Thanks to Matt Rix for spotting
  129.     it.
  130.   - A bug with VDU concatenation fixed. Again thanks to Matt Rix for reporting
  131.     it.
  132.   - A bug that caused the TOP token to be confused for a TO token in SYS
  133.     statements is now fixed. So things like:
  134.   
  135.     SYS "My_SWI",TOP,TOP+1000 TO A%   was giving problems. Now, nor more.
  136.  
  137.     Thanks to Cy J. Booker for reminding me of this problem, something he had
  138.     with his excellent BasCompress application.
  139.   
  140.     The similar bug in the FOR..TO loops is not fixed yet, so something like
  141.     FOR A=TOP TO HIMEM will get wrongly evaluated... In fact this is easier
  142.     to fix and I'll get that fixed soon.
  143.  
  144.   
  145.   
  146.  
  147.  
  148. Version 1.69 (28th June 1997)
  149. =============================
  150.  
  151. - StrongBS will automatically load the Special text file named "SBSLock"
  152.   from the directory containing the core BASIC program, so you can now
  153.   write a Special file for each program, name it "SBSLock" and place it
  154.   in the same directory as your main program.
  155. - Added the Choices window to enable different configurations to be set and
  156.   saved. Not many choices yet!
  157.   - The "Assemble into Code" can now assemble all instructions recognised by
  158.   the BASIC assembler. StrongBS also makes allowance for bugs in the
  159.   BASIC assembler.
  160. - It seems that the BASIC interpreter doesn't like to see a string
  161.   containing the ASCII character 139 in a single line IF..THEN..ELSE
  162.   statements before the ELSE part, as this confuses the interpreter
  163.   thinking that the character is the ELSE token. The interpreter search
  164.   for the ELSE token doesn't take into consideration that this could
  165.   be a character inside a string. StrongBS now will not generate strings
  166.   with the ASCII 139 character in an IF...THEN..ELSE statement, so
  167.   as to make the interpret happy!!
  168. - The assembler option to remove zero offsets now makes allowance for the
  169.   BASIC assembler bug that requires a zero offset be specified in LDRT and
  170.   STRT instructions.
  171. - A bug in the variables replacer code that caused the TOP token to be
  172.   misinterpreted is now fixed.
  173. - Many improvements have been incorporated to enable StrongBS to cope with
  174.   compressed BASIC programs. This gives more flexibility for the user to
  175.   re-squash BASIC programs which have been squashed by StrongBS or by other
  176.   BASIC squasher.
  177.  
  178.  
  179.  
  180.  
  181. Version 1.68 (25th June 1997)
  182. =============================
  183.  
  184. - Added the "Assemble into Code" option. This option is partially written
  185.   and few instructions are still not yet assembled. The option is
  186.   not selected by default.
  187. - When reverting back to BASIC filetype after failure to squeeze into
  188.   Absolute, the filetype was left at "Absolute". This is now corrected.
  189. - StrongBS can now cope with matrix operations and matrix operators don't
  190.   get wrongly evaluated and brackets around them removed.
  191. - Fixed a bug in the real array variables renaming code that caused the
  192.   BY( in DRAW, MOVE, etc statements to be interpreted as a real array variable.
  193.   Thanks to Reuben Thomas for all his assistance in tracking down this bug.
  194. - Fixed a bug that caused the ON token in a MOUSE ON statement to be skipped
  195.   if located inside an IF..ENDIF construct.
  196. - Updates and corrections to the interactive help display messages.
  197. - Fixed a bug in the numbers converter that caused shifted numbers
  198.   following the & directive to be mis-interpreted.
  199. - PRINT concatenation code improved to deal with squashed programs.
  200. - Various routines improved to cope with squashed BASIC programs.
  201.  
  202.  
  203.  
  204.  
  205. Version 1.67 (23rd June 1997)
  206. =============================
  207.  
  208. - The output filetype is now selectable from a separate pop-up menu.
  209. - The information message displayed during squashing is now disabled as
  210.   the icon is now used to display the output filetype and format. This
  211.   maybe re-enabled in future versions using a separate configured window!
  212. - Interactive help improved with all icons and menu entries giving detailed
  213.   help information. Use this feature for a detailed explanation of each
  214.   menu entry and each StrongBS squash option.
  215. - Fixed a bug in the "Assembler directives code" that caused necessary
  216.   colons to be skipped after a fractional number inside an EQUD directive.
  217. - Dropping back a StrongBS squashed output file back into StrongBS is no
  218.   longer allowed. To re-squash, hit the "Squash" button again. Re-squashing
  219.   is allowed, only if, the "output as" file selected is BASIC.
  220. - Slight correction to the main sprite icon.
  221. - Bug fix in the assembler directives and spaces removal codes not liking
  222.   each others results !!
  223. - Renamed the <StrongBS$Append> variable to <StrongBSLibrary>. Also renamed
  224.   the "Append file" sub-menu to "Library files". This will list all
  225.   library files pointed by the StrongBS$Library variable, which is set to
  226.   point at the directory "Library" within StrongBS. This can be changed in
  227.   the !Run file to point at any pathname (directory) containing library
  228.   files.
  229. - Improved the number conversion code.
  230. - Updated some parts of the manual.
  231. - A bug fix in shading of menu items (desktop front end).
  232. - A bug in the "unused variables removal" that left commas after removing an
  233.   unused_var after a SYS..TO.. has now been removed. Thanks to Theo Markettos
  234.   for pointing this out.
  235. - A nasty bug that caused PROCedure names after a Hex number to be skipped
  236.   unnoticed is now fixed. (Whoops!!)
  237.  
  238.  
  239.  
  240.  
  241. Version 1.66ß2 (21st June 1997)
  242. ===============================
  243.  
  244. - 0's to FALSE conversion will, now, not convert those 0's inside assembler
  245.   listings (some Extended BASIC assemblers cannot cope with them). Also,
  246.   0's inside VDU statements will not be converted.
  247. - Improved the PRINT statement concatenation code and fixed problems with
  248.   concatenating string found between two PRINT statements.
  249. - A bug that caused ALIGN directives to be skipped following other directives
  250.   is now corrected. Thanks to Alex Thoukydides for spotting this.
  251. - Correction to the VDU concatenation behaviour with "|" characters has been
  252.   added so that extra VDU statements are not concatenated to a statement
  253.   ending with "|".
  254. - Fixed a problem with converting numbers to shortest form that caused very
  255.   large floating point numbers to mis-interpreted this only caused problems
  256.   with BASIC 64.
  257. - Improved assembler register code conversion for faster processing.
  258.  
  259.  
  260.   
  261. Version 1.66ß1 (21st June 1997)
  262. =============================
  263.  
  264. - Fixed a bug in the memory spaces conversion code for complex IF, WHILE
  265.   statements.
  266.  
  267.  
  268.  
  269. Version 1.65 (20th June 1997)
  270. =============================
  271.  
  272. - Fixed a bug that caused the "Remove Colon" option to remove a space found
  273.   after an IF or WHILE. Example: "IF|WHILE <var1> <var2>=<var3>".
  274. - Improved the the memory operator options code.
  275. - Fixed a bug that caused numbers after an IF token to be converted into the
  276.   shortest form using shift format.
  277.   example:            IF A%=&80000000 THEN A%=2
  278.   was converted into: IF A%=1<<31 THEN A%=2
  279.   This would be treated by BASIC as IF (A%=1)<<31 THEN A%=2
  280.   The same applies to numbers after a WHILE token.
  281. - Fixed a bug that caused a space or a THEN token to be removed between a
  282.   hex number and available starting with a valid hex digit.
  283. - Improved the spaces removal code and the THEN removal code.
  284. - Added the option to convert *FX commands into OS_Byte (SYS 6) calls. The
  285.   option is not automatically selected by default.
  286. - Up to 64 files can now be listed in the "Append" file menu.
  287.  
  288.  
  289.  
  290. Version 1.64 (19th June 1997)
  291. =============================
  292.  
  293. - Fixed a bug that caused &8C inside quotes!! to be interpreted as a THEN token
  294. - Fixed a bug that caused LOCAL DATA and LOCAL ERROR to be concatenated along
  295.   with LOCAL <var> lines and statements. Whoops!! Thanks to Rouben Thomas for
  296.   spotting this bug (that was a quick one, and hope a quick fix!!)
  297.  
  298.  
  299.  
  300. Version 1.63 (17th June 1997)
  301. =============================
  302.  
  303. - Bug in the "0 to FALSE" converter removed which caused 0's in *Commands
  304.   to be converted. Thanks to Dominic Plunkett for spotting it out just
  305.   too fast for me to celebrate a bug-free StrongBS !!
  306. - Updated the "Manual" document. Still needs lots of updates and grammar
  307.   checking !!
  308. - Improved the PRINT statements concatenation code. Again, thanks go to
  309.   Dominic Plunkett for pointing out areas where improvement have been
  310.   made.
  311. - A little bug in the module caused DATA statements to be skipped unnoticed,
  312.   this is now fixed. Thanks Dominic for pointing that out. BASICTools module
  313.   now at version 1.05 (thats already 5 years since the first module!! time
  314.   flies!!).
  315. - The Help system has now be enabled again specially for the menu system.
  316.   Added various help data for all options.
  317.  
  318.  
  319. Version 1.62ß (27th April 1997)
  320. ==============================
  321.  
  322. - First ßeta public release.
  323. - Slight correction made to the "convert to FALSE" code.
  324.  
  325.  
  326. Version 1.61 (20th April 1997)
  327. ==============================
  328.  
  329. - The assembler register list squash option enabled. Was greyed out. The code
  330.   to squash LDM and STM register lists is added.
  331. - Added an option to keep REM lines starting with a word or chars specified
  332.   by the user. Suggested by Graham Crow.
  333. - Moved the REMarks options from the "Misc" sub-menu into a separate top-level
  334.   sub-menu.
  335. - Added the zero removal option to the "Remove" menu. This will remove all
  336.   unnecessary +0, -0, +0.0 or -0.0 in mathematical assignments.
  337. - Added the option to convert CASE...ENDCASE constructs to IF...ENDIF
  338.   constructs. The IF...ENDIF is much faster.
  339. - Added the "Structures" sub-menu (CASE, WHILE and IF structures' options).
  340. - Added the "Faster" sub-menu to include all options that can speed up
  341.   program execution, but not necessarily resulting in a smaller size.
  342. - Added an option to rename variables found in DATA lines, providing the
  343.   variable name can also be located in the main program. This option is
  344.   normally non-selected by default. Use it if DATA lines contain variables
  345.   that will be later EVALuated using the EVAL or READ statements. Previous
  346.   versions of StrongBS automatically renamed variables found in DATA lines.
  347.   This had caused a problem with one program I know of "The Acorn !Maestro
  348.   !Runimage file", as it had DATA lines containing strings of text that were
  349.   not inside quotes and were similar to some of the variables in the main
  350.   program. This caused the text in the DATA lines to be renamed along with the
  351.   similar variables in the main program!
  352. - A bug in the empty structures removal code, removed. Now can recognize some
  353.   undocumented BASIC methods for terminating a CASE construct.
  354. - Improved the mathematical evaluations code to cope with more expressions.
  355. - A bug in the spaces stripper code which caused "No such function/procedure"
  356.   now removed.
  357. - Slight front end program re-structuring.
  358. - Added the Log file sub-menu and additional icons for the log file.
  359. - The "Attach files" sub-menu renamed to "Insert REMarks file" and moved to the
  360.   "Remarks" sub-menu. Also the "Attach" directory is now called "REMInsert".
  361. - Slight updates and changes to the manual.
  362.  
  363.  
  364.  
  365. Version 1.60 (18th April 1997)
  366. ==============================
  367.  
  368. - Improved the -1 to TRUE converter code, now more squashing achieved.
  369. - Bug in the colons remover code removed.
  370. - Slight improvement in the brackets removal code.
  371. - When re-squashing a file with locked variables, the locked variables are now
  372.   remembered from the first pass.
  373. - The variables removal code improved to cope with highly compressed files. This
  374.   allows effective re-squashing of files.
  375. - Bug in the registers converter removed. Thanks to Dominic Plunkett for
  376.   pointing it out.
  377. - PRINT statement concatenation option added to the "Concatenations" sub-menu.
  378.   Idea by Dominic Plunkett.
  379. - Memory management changed. Now using the wimp for memory allocation. This
  380.   allows large compressed files above 400 Kb to be loaded and re-squashed again.
  381. - A bug in the Attach file menu causing the last file to be displayed twice is
  382.   now removed.
  383. - Main window icons slightly changed to comply with Acorn style guidelines.
  384.  
  385.  
  386.  
  387. Version 1.59 (17th April 1997)
  388. ==============================
  389.  
  390. - Now standing at 62 total options (including 3rd party options) !!!!
  391. - Added the Empty WHILE structures removal option.
  392. - Added the Empty procedure removal option.
  393. - Slight improvement to the spaces stripper code.
  394. - Some improvement to the colon stripper code. Now can cope with very
  395.   difficult unnecessary colons. More squashing...
  396. - Improved error reporting in case of StrongBS crash!! Has it ever crashed? No,
  397.   of course not, it is RISC OS that is buggy, StrongBS is of course bug free.
  398.   Acorn should correct the OS to make it compatible with StrongBS !!!
  399. - Improved sprite sent in by David Sharp.
  400. - The Log menu is greyed out. It will be enabled when cross-referencing code
  401.   is completed.
  402. - The "Clear all options" menu entry moved to the "Squash mode" menu.
  403. - Updated the "Messages" file.
  404. - Creating and saving a new squash mode will, now, take the 3rd party squash
  405.   options into considerations and save them as well.
  406. - The "Create New Mode" dialog box now uses standard font for RISC OS 3.5 and
  407.   later.
  408. - The "Squahsed by StrongBS xxxx" REMark line will not be inserted into the
  409.   output file if the result file is going to be squeezed into an absolute file
  410.   type (&FF8), even if the "Insert Squash info" option is selected by the
  411.   user.
  412. - The location of the Append, Attach and Modes sub-directories is set using
  413.   a system variable in the !Run file, so this can be changed to re-locate
  414.   the directories.
  415. - The Template and Messages files moved to a sub-directory "UK" within the
  416.   the "Resources" directory and a variable StrongBS$Country in the !Run
  417.   file is set to point at that directory. For other languages and countries
  418.   you need to create a sub-directory with the language name and change
  419.   the "Messages" and Templates files in it, then change the StrongBS$Country
  420.   variable in the !Run file.
  421.   Looking for someone to make a Dutch and German versions of StrongBS.
  422. - A bug in the re-squashing loop removed.
  423.  
  424.  
  425.  
  426. Version 1.58 (11th April 1997)
  427. ==============================
  428.  
  429. - Now you can re-squash by pressing the "Squashed" button again. You can
  430.   do this as many times as you like to perform multi-squashing. The old
  431.   method of dropping the BASIC file back into StrongBS is still valid
  432.   as an alternative.
  433. - Some internal codes made recursive so that the need for re-squashing is
  434.   now reduced.
  435. - A bug pointed by David Sharp in the "Colons remover" code removed.
  436. - The error reporting window now accepts the RETURN key.
  437. - More 3rdParty options. Another one from David Sharp.
  438. - Added the "Empty IF structure" removal option. Idea by Dominic Plunkett.
  439. - Colon remover code further improved.
  440. - Added the "Empty CASE structure" removal option.
  441. - CallASWI module removed. Not required any more!
  442. - Under RISC OS 3.5 and later, the main window background and fonts now use
  443.   the desktop texture and desktop fonts, a new template is designed for
  444.   this purpose. For RISC OS 3.10, a custom background and fonts
  445.   are used (template "Templ310" used). Suggested by Andrew Ayre.
  446. - Very much improved colon remover code to remove all unnecessary colons part
  447.   of the WHILE and IF constructs.
  448. - A bug in the spaces-stripper code removed.
  449. - Bracket removal code improved to cope with shifted operators such << and
  450.   >>> as BASIC does not allow the use of more that one group 5 operator
  451.   by unbrackted expression.
  452. - Improved the variables search to look inside DATA lines for matching
  453.   variables. BASIC allows variables inside DATA lines, and the READ statement
  454.   performs an automatic evaluation of the variables inside DATA lines!!
  455. - Updated BASICTools Module to version 1.04. Slight changes to BASIC
  456.   program initialization code.
  457.  
  458.  
  459.  
  460. Version 1.57 (9th April 1997)
  461. ==============================
  462.  
  463. - Added the VDU statements concatenation option. Idea by Dominic Plunkett.
  464. - Added the READ statements concatenation option.
  465. - A bug removed that caused some of the debugging code to be left over
  466.   causing some characters to be printed on the desktop.
  467. - Multi-tasking improved to allow StrongBS main window to be moved around
  468.   the screen while squashing is in progress.
  469. - Acorn "CallASWI" module is automatically loaded and copied to the
  470.   !System.Modules directory for pre-RISC OS 3.7 machines.
  471.   This module will be required if the BASIC program is
  472.   further squeezed into an application and distributed as such.
  473. - Code for brackets removal improved. Some ideas by Dominic Plunkett
  474.   implemented. Still some room for improvement.
  475. - 3rd Party information window added.
  476. - Manual updated.
  477. - Little bug with the 3rd party options menu selected corrected. Thanks
  478.   to David Sharp for pointing that out.
  479. - Little bug in the Template file corrected. Again thanks to David Sharp
  480.   for the observation.
  481. - Improved the colon remover code to deal with colons after WHILE. Now
  482.   even more code squeezing!
  483. - First 3rd party code written by David Sharp included with this version.
  484. - Display time for the banner window is now correct at 5 seconds.
  485.  
  486.  
  487.  
  488. Version 1.56a (7th April 1997)
  489. =============================
  490.  
  491. - This version has an improved error reporting for errors encountered in
  492.   the source BASIC program. Version is only sent to Dominic Plunkett for
  493.   the testing of an error he is encountering with ELSE statements.
  494.  
  495.  
  496.  
  497. Version 1.55 Beta (27 March 1997)
  498. =================================
  499.  
  500. - Added interactive help support.
  501. - Simple multi-tasking introduced to allow other desktop tasks to be used.
  502.   Suggested by David Sharp.
  503. - "Make Application" code added including the facility to squeezing the code
  504.   using an LZW compression method.
  505. - The user is alerted if overwriting an existing file.
  506. - The "THEN Removal" code improved to cope with very obscure situations.
  507. - Bug corrected in the SPC code.
  508. - Description of the Squash options written partially, to be completed.
  509. - Disabled warning for RESTORE+<No. offset>
  510.  
  511.  
  512.  
  513. Version 1.54 (17 March 1997)
  514. ============================
  515.  
  516. - Bug fix:
  517.   A little bug in the numbers converter with complex shifted number.
  518. - More compression achieved by improving the scan routine inside DATA lines.
  519. - Tested on a Risc PC and working fine.
  520. - Re-coded the menu display routine so that if the menu is opened on the icon
  521.   bar, it will always appear in the same place (centred on top of the icon)
  522.   irrespective of the pointer x-position when the menu button is clicked.
  523. - StrongBS will now warn the user if a Special file is needed before compression
  524.   starts rather at time of loading the source file.
  525. - Added a little icon to show status of Special File. (A nice idea from David
  526.   Sharp).
  527. - Added 2 more warning messages to inform the user of how to load the Special
  528.   file, i.e. after loading the BASIC source file but before compressing.
  529. - The banner screen will automatically disappear after 4 seconds on start-up of
  530.   the program. (Thanks to David Sharp for the suggestion).
  531. - Improved brackets removal code to achieve better compression results.
  532. - Improved the Directives concatenation routine to cope with wider range of
  533.   assembler directive situations.
  534. - Improved warning error window. Original template designed by "David Sharp",
  535.   slight changes by myself.
  536. - Added an option to allow the "REM Squashed by StrongBS .." to be excluded from
  537.   the output file.
  538.  
  539.  
  540.  
  541. Version 1.53 (14 March 1997)
  542. ============================
  543.  
  544. - Bug fix:
  545.   Fixed a bug that caused a colon to be omitted after a DCD during conversion
  546.   to &, if the DCD failed to convert.
  547. - Bug fix:
  548.   A bug fix in the colon remover code. Was used to corrupt the program. It will
  549.   only appear if the "Remove colons" is the only option selected.
  550.  
  551.  
  552.  
  553. Version 1.52 (8 March 1997)
  554. ============================
  555.  
  556. - Locked function and procedure names can be given as FN or PROC. There is no
  557.   need to use DEFFN or DEFPROC.
  558. - The Squash mode is now configurable in the Messages file. Your preferred mode,
  559.   whether a user mode that you have defined and saved earlier or a mode that
  560.   is built into StrongBS, can now be automatically loaded and set on startup.
  561.   To set the preferred mode, change the value after the "SquashMode" token in
  562.   the Messages file.
  563. - Locked variables can be passed in a text file. The first word of the file
  564.   should be "LOCK:" this is an identifier.
  565.   Variables can be put on newline each or separated by commas.
  566.   If locked variables also exist in the main program (i.e. after REM LOCK) then
  567.   the variables in the text file are added to those.
  568.   
  569.   Note: The locked variables file should be loaded AFTER the program to be
  570.         compressed is loaded. Loading a new program will reset all locked
  571.         variables that were loaded by the lock file.
  572.         
  573. - Added the automatic line numbering option.
  574. - Improvement to the numbers conversion to recognise more number formats.
  575. - Improvement to the string conversions to cope with more string formats.
  576. - Added the option to use the standard system font or any other font the user
  577.   may elect to choose.
  578. - Added the unused variables removal code.
  579. - Bug fix:
  580.   A bug that caused a colon to be removed after RESTORE ERROR is removed.
  581. - The variables indexer now improved, so that all variables inside an assembly
  582.   listing are also counted in the table.
  583. - Updated the coding of the Locked variables file, so that more keywords can be
  584.   added in the future.
  585. - Re-written the memory management for better space allocation.
  586. - Menus are now displayed in the default desktop font. User can specify the
  587.   font in the messages file if he wishes. This is handy for RISC OS 3.1 users.
  588. - The colons remover code improved to deal with more situations.
  589.  
  590.  
  591.  
  592. Version 1.51b (4 March 1997)
  593. ============================
  594.  
  595. - Added the option to append files to the end of the main program before
  596.   compression starts. This feature helps to append LIBRARY files.
  597. - Added the option to attach (insert) a file at the start of the main program
  598.   after compression is complete.
  599. - Added two options, one to keep the first REM line in the source program and
  600.   another to keep all REM lines appearing at the start of the source program.
  601. - Added and activated the option to concatenate assembler directives.
  602. - The shorter directives improved to cope with variable names that are similar
  603.   to directive names.
  604. - Numbers converter code improved to cope with the short directive "&" following
  605.   a label.
  606.  
  607.  
  608.  
  609. Version 1.49b (27 Feb 1997)
  610. ===========================
  611.  
  612. - Added the "SYS Remover code" to remove excess commas and 0's in SYS calls.
  613. - Added the routine to convert all assembler directives (EQUS/EQUD/EQUB) and
  614.   (DCD/DCB) into the shorter type & and = directives.
  615. - Added and activated the "Debug Code Remover". Any lines bracketed between
  616.   REM --[ and REM ]-- in the program will be removed.
  617. - Added and activated an option to remove all those unnecessary ALIGN directives.
  618.   ALIGN directives are not required if they are followed by an instruction
  619.   opcode. BASIC automatically ensures that an instruction is stored in a
  620.   word align memory address.
  621.  
  622.  
  623.  
  624. Version 1.48b (26 Feb 1997)
  625. ===========================
  626.  
  627. - The variable menu width works correctly now. Obtaining the outline font text
  628.   width is now correct. Menus will automatically adjust to highest width.
  629.   Thanks to Alan Wrigley for his tip on using "Font_ConverttoOS".
  630. - The progress bar color is user defined. The token "BarColor" in the Messages
  631.   file can be changed by the user. (Thanks to David Sharp for the idea)
  632.   
  633.  
  634.  
  635. Version 1.47 (21 Feb 1997)
  636. ==========================
  637.  
  638. - Added the Message file. All menu entries are now contained in the messages
  639.   file.
  640.  
  641.  
  642.  
  643. Version 1.46 (19 Feb 1997)
  644. ==========================
  645.  
  646. - Added the modes creation facility.
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.                ••••••••• Hope you find StrongBS useful •••••••••
  654.                                        
  655.  
  656.  
  657. StrongBS © Mohsen Alshayef 1993-1997
  658.  
  659. Contact details:
  660. ----------------
  661.  
  662. Mohsen Alshayef,
  663. email: mohsen@qatar.net.qa
  664.